home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / demos / mastdemo.zoo / batch / chdir.bat < prev    next >
DOS Batch File  |  1990-03-22  |  1KB  |  67 lines

  1. if exec "alias foreach" {
  2.     rem macros.bat required
  3.     quit 1
  4. }
  5.  
  6. module => module
  7.  
  8. if not "MENU" in module {
  9.     module popup
  10.     if err {quit -1;}
  11. }
  12.     set home H
  13.     set up A
  14.     set down B
  15.     set right C
  16.     set left D
  17.     set invon p
  18.     set invoff q
  19.     set cleol K
  20.  
  21. alldrives => drives
  22. setenv DELIMITER  \| ;
  23.  
  24. foreach drive in drives do
  25.     ifempty drv {
  26.         set drv $drive;
  27.     } else {
  28.         printf "%s | %s" drv drive ==> dru
  29.         cdr -0 dru => drv
  30.     }
  31. endfor
  32.  
  33. cls
  34. rem $home        $invon please select a new folder ... $invoff
  35. rem
  36.  
  37. loop {
  38.     cd => current
  39.     rem actual directory: ${cleol}$current
  40.     rem $up
  41.     files -ad => directs
  42.     car directs => firstdir
  43.     if firstdir = "." {
  44.         cdr -2 directs => directs
  45.     }
  46.     ifempty directs {
  47. newdrv:
  48.         menu [ $drv ]
  49.         eval $? 2 * 1 - => selected
  50.         car -o$selected drv => selected
  51.         $selected: > NUL:
  52.         continue
  53.     } else {
  54.         menu [ new drive | $directs ]
  55.     }
  56.     if "$?" = "-1" {
  57.         noDelimiter
  58.         quit
  59.     }
  60.     if "$?" = "1" {
  61.         goto newdrv
  62.     }
  63.     eval $? 1 - 2 * 1 - => selected
  64.     car -o$selected directs => selected
  65.     cd $selected > NUL:
  66. }
  67.